« | C93冬コミのご案内 1日目 12/29 東3 キ-52b »

MacBook Pro 17 (late 2011)のGPUがまた死んだけどAppleの修理受付が終わっていたので自力でなんとかした話

Posted on 2017/12/02 (土) 2:47
Filed Under Mac | | TrackBack | このエントリをはてなブックマークに追加 Share on Tumblr

【概要】Apple製ノートパソコンMacBook Proシリーズの2011年-2013年の多くのモデルは設計上の不良があり、1-2年ほどでマザーボード上のGPUが死んで画面が乱れたり起動が不能になったりする。そこでAppleは無料修理を受け付けていたが筆者の利用しているMacBook Pro 17 late 2011モデル(最後の17インチMacBook)は2016年末で終了、有料修理受付も2017年6月末で終了した。リペアプログラムも根本的には腐ったGPUをまだ腐ってないGPUに交換するだけなんでやっぱり数年経つと死ぬ。
そこでdGPU(AMD Radeon 6770M)を切り離して内蔵GPU起動させる手順を説明する。
マザボをオーブンで焼くような乱暴なマネはやめよう!

参考リンク「Apple、2011年製MacBook Proを「ビデオの問題に対するリペアエクステンションプログラム」の対象外に。 | AAPL Ch.

【前提】ウチのMacBook Pro17はすでに全く同じ症状で2回マザーボード交換済み。
通常利用時は冷却台を用いて冷却をアシストしている。
内蔵FANは今年新品交換済み。(iFixitで買った)
個人的な都合1:現行モデルには17インチ以上の画面サイズのモデルがラインナップされていないため買い換えることはできない。
個人的な都合2:現行モデルは現在FusionDriveを組んでいる17インチの3TBのデータがレストアしきれないために買い換えることはできない。

【経緯】普段使っているDJソフト Native Instruments Traktor Pro 2がHigh Sierraに対応したのでSierraからApp Storeメニューでアップデートしようとした。
アップデートプロセスが進行したところ画面が乱れてきた。

インストールプロセスの進行に伴い更に乱れた。

外出から戻ってきたら画面がブラックアウトしていたので強制電源オフ。
電源投入しても正常起動しない。
そこで、PRAMリセット、SMCリセットの後、セーフモードでの起動、[Cmd]+Rでのリカバリモード起動、別の起動ディスクからの起動、のいずれも画面がグレーアウトし正常に起動することはできなかった。
Dキー押下で起動するApple Hardware Testでは問題は検出されなかった。(相変わらず画面は縞々)

[Cmd]+Sでのシングルユーザーモードでのみ起動した。

【修復手順】
基本的にはここに書かれている手順通り。大感謝!
hardware - Boot hangs on grey screen (even when booting from USB drive with fresh OS X install) - Ask Different
ウチでは少し変更したんで記憶に基づいて書く。もしかしたらそのままで動作しなかったら適当に読み替えて。
[注意]内蔵GPU(intel HD Graphics)で動作させると外部モニタ使えなくなって内蔵パネルのみの動作となる。

・PRAM,SNC,NVRAMをリセット
電源以外のケーブルをすべて外し、次のキーを押してSMCをリセットする。

[leftshift]+[ctrl]+[opt]を押した状態で[power]

同様に次のキーを押し起動音が二回なるまで押し続けPRAMをリセットする。

[cmd]+[opt]+P+R

・シングルユーザーモードで起動
次のキーを押したまま電源投入。([cmd]+Sでいいんじゃないかなあ?とも思う)
10.13.6のFirmwareでこれができなくなったとコメントでVagabonさんに教えていただいたので下の方にあるコメント参考にしてください。

[cmd]+R+S

・System Integrity Protection(SIP)の無効化

csrutil disable

・問題のdGPUを無効化。これが超キモなところ。

nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

・再起動

reboot

・リカバリモードで起動

[cmd]+R

・ディスクユーティリティで暗号化されているFusionDriveをマウント(うちの環境の場合)

・ディスクユーティリティを終了させてターミナルを起動

・dfでマウントされたpathを確認してカレントディレクトリを移動。ウチはIllyasvielHDというボリュームが/Volumes/IllyasvielHDにマウントされていたのでこうなる。

cd /Volumes/IllyasvielHD/

・バックアップ用ディレクトリ作成

mkdir -p ./System/Library/Extensions-off

・dGPU用カーネルエクステンションを移動して無効化

mv ./System/Library/Extensions/AMDRadeonX3000.kext ./System/Library/Extensions-off/

・kextcacheが動くように更新。( kextcache -system-caches でいいんじゃないかなあ?とも思うけど未確認)

touch ./System/Library/Extensions/

・ターミナルを終了して通常起動

・起動したらターミナルを開いてdGPU用カーネルエクステンションをロード。これをやらないと温度管理の認識がおかしくなるよう。

sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

・上のを自動的に実行できるように起動スクリプトを書く

sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LoadX3000.sh

・スクリプトの内容

#!/bin/bash
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
exit 0

・パーミッション設定と起動設定

sudo chmod a+x /Library/LoginHook/LoadX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh

・ウチではこんな感じになった。Intel HD Graphicsに切り替わっているのがわかる。

直接の関係はないけど、これでFusionDriveのSSD部アクセスとHDD部アクセスの様子を知ることができる。

/usr/sbin/iostat -d disk0 disk1 1

あとウチはVerboseモードが気に入っているので常にVerboseモードにするためにはこちら。

sudo nvram boot-args="-v"

・システムのアップデートとかでPRAMリセットしたりで再び障害状態に戻ってしまったら同じ手順で戻せると思う。あと温度監視ツールやFanコントロールツールや冷却台とかで冷やしたほうが寿命は幾分伸びるかもしれない。iFixitで交換用マザボを買うと499.99USD。「MacBook Pro 17″ Unibody (Late 2011) 2.4 GHz Logic Board - iFixit

【要望】AppleさんにおかれましてはiPadと市場が被るサブノートみたいなノートばかり作ってないで、持ち運べるiMac Proがコンセプトのコネクタいっぱいあって拡張性が高くてパワフルな画面がでかい17インチ4KRetinaのMacBook Pro早く出して下さい。
あとイヤホンジャックのあるiPhoneも。
そして会社はえらく儲かってて企業体力に余裕はあるだろうから設計不良の無料修理受付は延長して欲しい。
参考リンク:「アップル、時価総額が一時9000億ドルに-アイフォーン需要で株価上昇 - Bloomberg

【注意事項】当たり前ですがこの稿にある項目を実行して何らかの不具合を被っても一切責任はもてません。必ず自己責任でお試しください。

【拡張】(追記)やっぱり外部モニタが使えないとすげー不便なんで試してみた。Thunderbolt接続のグラボとか作りやすいはずなのにローエンド製品はないようなんでExpressCardやUSB接続で探してみたところ、USB2.0世代のIOデータ USB-RGB/D2という旧世代の製品がまあよさそうだった。(late 2011にはまだUSB3.0ないんですよ、驚きですね!)
で早速接続してみたところ、ディスプレイコンパネで外部モニタは認識はされるけれども画は出てこない。IOデータ製のドライバが2014/03が最新なんでHighSierraに対応してないんだと思って、チップメーカーのDisplayLinkから「Download: DisplayLink USB Graphics Software for OS X and macOS (4.0.0)」をダウンロードして追加したら動作した。めでたしめでたし。
(DisplayLinkドライバ単体で動くかどうか試してないんで興味のある人は試して下さい)

Comments

Leave a Comment

TrackBack URI :http://www.dcc-jpl.com/diary/2017/12/02/macbookpro-gpu/trackback/

Name

Email

ウェブサイト

コメント

16 Comments so far
  1. yuta 2018/06/03 (日) 7:56

    恐れ入ります。
    当方ターミナルなどをいじることは初心者で、late2011 15インチ版を使用しております。
    昨晩急にディスプレイが落ち、そのままフリーズ状態になってしまったため色々検索した結果こちらに辿り着きました。

    そして記載の手順を試していたのですが、

    touch ./System/Library/Extensions/

    のところでそのディレクトリはないというメッセージが出て、そのまま

    ・ターミナルを終了して通常起動

    したのですが、リンゴマークにゲージが半分くらいのまま止まってしまっている状態になってしまっております。

    改善方法はないのでしょうか?
    何卒ご教授頂ければ幸いです。
    よろしくお願い申し上げます。

  2. sorshi 2018/06/03 (日) 13:01

    こんにちは。
    touchコマンドだけに失敗した場合には大勢に影響ないと考えられますので、正常に動作しない場合には別の原因が考えられます。
    または、touchコマンド以前も操作が確実にできておらずGPU切り離し設定が機能していない可能性もあります。
    GPU型番によってnvramに書き込む値が異なる可能性もあります。

    そのためサポート専門業者などに持ち込まれることをご検討ください。

  3. yuta 2018/06/03 (日) 23:40

    sorshi Says様

    迅速かつご丁寧なお返事ありがとうございます。

    確かに、バックアップ用ディレクトリを作成の際もディレクトリがないというメッセージが出ておりました。

    しかしフリーズしたまま青白かった画面が普通の色に戻り、セーフモード起動も出来るようになったので非常に感動致しました。

    お忙しい中本当にありがとうございます。
    最後にこれだけお教え頂きたいのですが、GPU型番によっての値というのはどうやって調べられるものなのでしょうか?

  4. sorshi 2018/06/03 (日) 23:45

    具体的な値は本文中に書かれてる通りリンク先の記事まんまです。

  5. […] Macは基本5年間しか正規の修理がされない。http://www.dcc-jpl.com/diary/2017/12/02/macbookpro-gpu/ […]

  6. やまだ 2019/07/14 (日) 13:46

    この記事のやり方でうちのlate2011 17インチも復旧しました!
    ありがとうございます。

  7. パンパパ 2019/09/24 (火) 13:01

    はじめまして。
    私もMBP Late 2011 ‘17で、グラフィックチップの故障で悩まされました。
    ここに最近、また再発して修理に出しましたが、4回目となるのでこれ以上はおススメ出来ないと言われ、途方に暮れておりました。

    こちらの記事を参考にターミナルで実行してみましたが、以下のところから上手くいきません。

    是非、ご教示をお願い致します。

    ・dGPU用カーネルエクステンションを移動して無効化

    mv ./System/Library/Extensions/AMDRadeonX3000.kext ./System/Library/Extensions-off/

    ★ ここのコマンドは、つながりで入力してよろしいのでしょうか?

    ★ 入力後にenterキーで実行すると、「No such file or directory」と表示されます。

    ここから先に、うまく進めません。

    ただ、リカバリーモードでうまく起動できるところまでは行ったので、嬉しかったです。

  8. sorshi 2019/09/25 (水) 1:54

    こんにちは。
    OSバージョンによってドライバのファイル名が変更をになったかもしれないんでその場合には適切なファイルに読み替えて実行してみてください。

  9. Vagabon 2019/12/07 (土) 13:17

    こんにちは。何度かこのページの情報にお世話になりました。今更ながらお礼申し上げます。
    今回、10.3.6のアップデートでコマンド+S+Rが効かず、csrutil disableに対し、
    csrutil: failed to modify system integrity configuration. This tool needs to be executed from the Recovery OS.
    と返ってくるようになったので調べたところ、このページに同じ問題への解決策が載っていたので、共有しておきます。
    Single-User-Recovery-Mode on High Sierra 10.13.6
    https://apple.stackexchange.com/questions/332587/single-user-recovery-mode-on-high-sierra-10-13-6

    手順は簡単で、最初にシングルユーザーモード(コマンド+S)で起動して、まずnvramコマンド、
    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    を実行し、reboot。リカバリーモード(コマンド+R)で起動し、ターミナルで
    csrutil disable

    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    実行し、リブート(以下、上述の説明通り)でうまくいきました。

    いずれにしろ、新しい16インチMacbook Proへ移行するときが来たようです・・

  10. nell 2020/02/11 (火) 23:38

    こんばんは、
    late2011 15インチを使用していて同症状が起きていましたが、こちらのブログを参考に起動することができました。
    しかし起動はできるのですが、スリープすると復帰する事ができません。
    なにか改善方法はございますでしょうか。

    恐縮ですが、ご教授いただけないでしょうか。
    よろしくお願いいたします。

  11. sorshi 2020/02/12 (水) 0:13

    こんにちは。
    スリープさせない運用が現実的なところだと思われます。

  12. まう 2020/06/26 (金) 9:54

    こんにちは。うちの17インチも同じ症状になりこちらをみつけました。

    内蔵gpuで起動させるだけなら、このコマンドだけで大丈夫でしょうか?
    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

    今まではgfxCardStatusでインテルgpu固定してうまくいっていたのですが、起動時はどうしてもダイナミックになってしまうようで、起動後にインテル固定にしようとするとフリーズするようになりした。

    そこで、起動時は内蔵gpu固定

    起動した、gfxCardStatusでインテル固定

    にするとうまくいくのでは?と思っての質問でした。Radeonのカーネルエクステンションを移動してしまうと、スノーレオパードを使っているのですが、Googleクロームが表示されなくなるなどあるようで…。

    アドバイスどうぞよろしくお願いいたします。

  13. sorshi 2020/06/26 (金) 10:06

    こんにちは。
    試してみないとわかりませんのでうまくいったらぜひ書いておいて下さい。

  14. Narida 2020/11/14 (土) 21:57

    はじめまして。

    大変興味のある内容感謝いたします。
    ご教授いただきたく、連絡させていただきました。

    ・リカバリモードで起動までは順調に進み、その後わからなくなり再起動したところ立ち上がったのですが、席を外しているうちにMacBookPro 2011late 17inchが再度落ちて、乱れたリンゴで再起動を繰り返していました。

    ↓↓↓↓の記載のある「・dfでマウントされたpathを確認してカレントディレクトリを移動。」とはどのように確認すればよろしいかお教えいただけないでしょうか?
    そこから先をしていなかったので元の壊れたMacに戻ってしまったようなきがしまして・・・。

    そこがわかったらはじめからまたチャレンジしたいと思います。
    何卒お力をお貸しください。
    よろしくお願いいたします。

    ー引用ー
    ・dfでマウントされたpathを確認してカレントディレクトリを移動。ウチはIllyasvielHDというボリュームが/Volumes/IllyasvielHDにマウントされていたのでこうなる。

  15. sorshi 2020/11/14 (土) 22:04

    こんにちは。
    dfとはdfコマンドのことです。dfコマンドを実行してマウントポジションを確認してください。
    詳しくはdfコマンドのリファレンスを参考にしてください。

Recently


Categories


Archives


Wish list

宗子さんのほしい物リスト2015/5-